package gov.nasa.anml.lifted;

import gov.nasa.anml.PDDL;
import gov.nasa.anml.State;
import gov.nasa.anml.PDDL.Argument;
import gov.nasa.anml.PDDL.BooleanExpression;
import gov.nasa.anml.PDDL.Time;
import gov.nasa.anml.utility.SimpleObject;
import gov.nasa.anml.utility.SimpleVoid;

public abstract class IntervalExpression<T> extends IntervalImp implements ConstantExpression<T> {

	public void translateDecl(PDDL pddl, Interval unit) {
	}

	public void translateStmt(PDDL pddl, Interval unit, PDDL.Time time) {
		ExpressionImp.translateStmt(this,pddl,unit,time);
	}
	
	public Argument translateArgument(PDDL pddl, Interval unit) {
		return pddl.NullRef;
	}

	public PDDL.Expression translateLValue(PDDL pddl,Interval unit) {
		return pddl.TrueRef;
	}

	public History<SimpleVoid> storage(State p, State c) {
		return null;
	}
	
	// apply and value are more interesting to implement in subclasses.
}
